
import { Entity, NgField, NgObject, EntityList, NgList, NgDynamic, DynamicEntity, NgEntity } from '@farris/devkit';
import { AttachmentInfoD6c6Entity } from './attachmentinfod6c6entity';
import { AttachmentInfo1fceEntity } from './attachmentinfo1fceentity';

@NgEntity({
    originalCode: "gwgl",
    nodeCode: "gwgls"
})
export class GwglEntity extends Entity {

    @NgField({
        originalDataField: 'ID',
        dataField: 'id',
        primary: true,
        originalDataFieldType: 'String',
        initValue: '',
        path: 'ID',

        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'maxLength',
                constraints: [36],
                message: '最大长度为36',
            }
        ]
    })
    id: string;

    @NgField({
        originalDataField: 'ParentID',
        dataField: 'parentID',
        originalDataFieldType: 'String',
        initValue: '',
        path: 'ParentID',

        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'maxLength',
                constraints: [36],
                message: '最大长度为36',
            }
        ]
    })
    parentID: string;

    @NgField({
        originalDataField: 'jmsgw',
        dataField: 'jmsgw',
        originalDataFieldType: 'String',
        initValue: '',
        path: 'jmsgw',

        validRules: [
            {
                type: 'maxLength',
                constraints: [36],
                message: '最大长度为36',
            }
        ]
    })
    jmsgw: string;

    @NgField({
        originalDataField: 'jmszz',
        dataField: 'jmszz',
        originalDataFieldType: 'String',
        initValue: '',
        path: 'jmszz',

        validRules: [
            {
                type: 'maxLength',
                constraints: [36],
                message: '最大长度为36',
            }
        ]
    })
    jmszz: string;

    @NgField({
        originalDataField: 'gwbz',
        dataField: 'gwbz',
        originalDataFieldType: 'String',
        initValue: '',
        path: 'gwbz',

        validRules: [
            {
                type: 'maxLength',
                constraints: [36],
                message: '最大长度为36',
            }
        ]
    })
    gwbz: string;

    @NgObject({
        dataField: 'fileInfo',
        originalDataField: 'FileInfo',
        type: AttachmentInfoD6c6Entity
    })
    fileInfo: AttachmentInfoD6c6Entity;
    @NgObject({
        dataField: 'fileinfo2',
        originalDataField: 'fileinfo2',
        type: AttachmentInfo1fceEntity
    })
    fileinfo2: AttachmentInfo1fceEntity;
}